﻿using System.Collections.Generic;
using System.Linq;

namespace DataBases
{
    public class DBHelper
    {
        private const string ConnectionString = @"isostore:/UsersScoreDatabase.sdf";
        //private const string ConnectionString = @"appdata:/UsersScoreDatabase.sdf";
       
        /// <summary>
        /// Создание БД в изолированном хранилище.
        /// </summary>
        public static void CreateDatabase()
        {
            using (var context = new ScoreDataContext(ConnectionString))
            {
                if (!context.DatabaseExists())
                {
                    // create database if it does not exist
                    context.CreateDatabase();
                }
            }
        }

        /// <summary>
        /// Удаление БД из изолированного хранилища.
        /// </summary>
        public static void DeleteDatabase()
        {
            using (var context = new ScoreDataContext(ConnectionString))
            {
                if (context.DatabaseExists())
                {
                    // delete database if it exist
                    context.DeleteDatabase();
                }
            }
        }



        /// <summary>
        /// Получение списка со всеми записями из БД
        /// </summary>
        public static List<ScoreSet> GetScoreSets()
        {
            using (var context = new ScoreDataContext(ConnectionString))
            {
                //какой-либо запрос
                return (from emp in context.ScoreSets select emp).OrderBy(emp => -emp.UserScore).ToList();
            }
        }

        /// <summary>
        /// Добавление статьи в БД
        /// </summary>

        public static void AddSets(ScoreSet post)
        {
            using (var context = new ScoreDataContext(ConnectionString))
            {
                if (!context.DatabaseExists()) return;
                context.ScoreSets.InsertOnSubmit(post);
                context.SubmitChanges();
            }
        }
    }
}
